import React from 'react'
import { Button, NativeModules, StyleSheet, View } from 'react-native'

/* 
原生层就是要写原生的java代码
这里主要以了解为主  能敲则敲 

1. 桥接原生方法
- 访问手机图库 openGallery  用android studio 打开项目，编写原生方法  注册到。。。
- 在rn项目里 通过NativeModules 访问到注册到原生层的方法名称 在通过.调用访问图册方法

2. 桥接原生常量
- 比如访问版本号或者版本的code 可以在原生层直接注册使用，在rn项目访问这些常量就可以（同步获取）


3. 桥接原生原子组件
- 实现一个原生自定义组件 View
- 创建ViewManage 用来接管这个原生的自定义组件属性和方法 同时把ViewManage注册到ReactPackage
- 在js层里导入原生组件  并且可以封装导出 像正常的函数式组件一样去调用
- 使用@ReactProp 定义一个组件的属性 
- 原生层可以回调JS层的方法
- 也可以公开原生组件的方法给JS层调用

*/

export default function NativePage() {

  const getNative = () => {
    // App 是在原生层注册的name
    const {App} = NativeModules 
    App?.openGallery()
  }


  return (
    <View style={styles.root}>
      <Button title='click me ' onPress={getNative}/>



    </View>
  )
}

const styles = StyleSheet.create({
  root:{
    width:'100%',
    height:'100%',
    backgroundColor:'#fff'
  }
})
